package com.itheima.demo1exception;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class ExceptionDemo {

    // 异常处理
    public static void main(String[] args) {
        //异常出现会直接终止程序
        //test1();
        //test2();
        test3();
    }

    //定义一个运行时异常函数
    public static void test1(){
        int[] arr = new int[3];
        //数组下标越界异常
        System.out.println(arr[3]); // ArrayIndexOutOfBoundsException
    }

    public static void test2(){
        //空指针异常
        String str = null;
        System.out.println(str);
        System.out.println(str.length());
    }

    public static void test3(){
        // 编译异常，编译阶段报错，编译不通过
        // 把字符串时间解析成Java中的一个日期对象
        String str = "2025-03-19 11:11:11";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        //Date date = sdf.parse(str); // ParseException 编译时异常
        //通过try...catch...处理
        System.out.println("---------------------------");
        try {
            Date date = sdf.parse(str);
            System.out.println(str);
            System.out.println("程序继续执行...");
        } catch (ParseException e) {
            //异常栈信息
            e.printStackTrace();
        }


    }
}
